home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
015
/
memprnt.arc
/
MPMPRINT.PRT
< prev
next >
Wrap
Text File
|
1985-09-05
|
37KB
|
757 lines
A ╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print
║
(C) 1985
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ enterprises, inc.
║
306 Park AvenueJ
Wilmette, Illinois 60091
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print is a utility which allows any Epson
║ J printer to print IBM graphics characters
in a way that is completely transparent to
you (the user) or any program or operation
on the computer (including PrintScreen).
When it is installed, MPM-print becomes
memory-resident, that is, it stays active
in a small portion of your computer's
memory until your computer is turned off
or "rebooted".
After it is installed, MPM-print allows an
Epson printer to print 240 of the 255
graphics characters that IBM PC monitors
can display (which is more IBM characters
than even the IBM Graphics Printer can
print).
MPM-print is an ideal addition to your
"AUTOEXEC.BAT" file; if it is included, it
will be installed in memory whenever you
restart your computer, and will then
always allow IBM's special characters to
print on your printer.
The system will work with Epson FX, MX
(with Graftrax Plus), and RX series
printers, AND with the IBM Graphics
Printer (which is a version of the Epson
MX printer). MPM-print uses less than
3000 bytes of system memory when it is
installed, and will work with PC-DOS
versions 1.1 and above.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 2
║
INSTALLATION MPM-print is installed simply by typing
▀▀▀▀▀▀▀▀▀▀▀▀ its name at the DOS prompt, i.e.
DOS prompt
└───┬────┘A
│
A>MPMprint <enter>
│ │
┌────┴─────┐ └─ carriage return or
program name enter key
MPM-print will then "attach" itself to
DOS, and will print the following message
to the screen:
A ╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print
║
(C) 1985
╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ enterprises, inc.
║
306 Park Avenue
Wilmette, Illinois 60091
After it has been installed, MPM-print
cannot be re-installed (except in unusual
circumstances, see TECHNICAL NOTES below).
If you try to reinstall the system MPM-
print will give you the following message:
A ╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print
║
is already installed
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 3
║
USE After it has been installed, MPM-print is
▀▀▀ completely transparent both to you (the
user) and to programs running on your
computer.
MPM-print "reviews" each character that is
sent to the printer, and takes one of four
actions:
1. If the character is "shared" by
Epson and by the IBM monitors, it will
be printed normally. Only the
"standard" ASCII characters, ranging
from the space (ASCII 32) to the ~
(ASCII 126) are shared.
2. If the character is an Epson
control character, it will be passed
without change to the printer (see
Appendix B for a listing of all Epson
control codes).
3. If the character is an Escape
(ASCII 27), MPM-print will send the
Escape character AND the appropriate
number of following characters to the
printer without change (Epson printers
use "Escape sequences" to control a
wide variety of printing functions.
See Appendix B for a listing of Epson
escape sequences).
4. Finally, if the character is one of
the 145 characters that are neither
"shared" nor printer control
characters, then MPM-print will
"translate" the character and print the
IBM monitor's version of that character
using the Epson printer's graphics
capability.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 4
║
TESTING Included with MPM-print are two versions
▀▀▀▀▀▀▀ of a testing program, TEST.COM and
TEST.PAS. Written in TURBO Pascal, the
testing programs will "exercise" most of
the print commands available for the Epson
printers.
For each control code and escape sequence
(see Appendix B), the program will set the
printer's mode, then (if appropriate) it
will print the 240 non-control characters,
and finally will restore the printer to
its original mode.
The purpose of the test is to verify that
MPM-print will properly transmit the
control codes/escape sequences to the
printer, and that it will properly print
the full 240 MPM-print character set after
setting the printer's mode.
TEST.COM was compiled using TURBO Pascal
version 3.0, and will only run with DOS
2.0 or higher.
The source code (TEST.PAS) is provided to
allow the user to study the use of the
Epson control codes and escape sequences,
and to convert the testing program to
other languages.
The compiled version of TEST will take 20-
25 minutes to run (it is limited by the
speed of the Epson printers), and will
print about seven pages.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 5
║
DISTRIBUTION MPM-print is being distributed as
▀▀▀▀▀▀▀▀▀▀▀▀ "user-supported software", with the
following conditions:
MPM-print and its associated
documentation are the copyrighted
property of MPM Enterprises, Inc.
We grant NON-COMMERCIAL users the right
to use, copy and share MPM-print.
Any distribution of MPM-print must
contain the unaltered versions of the
program itself and all associated
documentation:
MPMprint.com
MPMprint.doc
MPMprint.prt
READ .ME
TEST .PAS
TEST .COM
MPM-print may NOT be sold or
distributed for profit.
Users are encouraged to register their
use with MPM Enterprises, Inc. A $10
contribution to encourage our future
developments is suggested. Registered
users will be notified of updates,
enhancements, and new products from
MPM Enterprises, Inc.
Commercial use WITHOUT a $10 per copy
registration fee is prohibited. Site
licenses are available.
MPM-print is provided on an "as-is" basis,
and no warranty is expressed or implied.
In no event shall MPM Enterprises, Inc., be
liable for any commercial or non-
commercial damage arising from the use of
MPM-print.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 6
║
TECHNICAL NOTES SPEED
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ═════
MPM-print uses the graphics printing
capabilities of the Epson printers to
produce the 145 IBM characters that the
Epson printers normally don't print.
Printing using the graphics mode requires
more information and effort on the part of
the printer, so the 145 non-Epson
characters take longer to print. (This is
why the 'TEST' program takes so long to
print 7 pages of output). "Normal" text
is printed at the normal rate of speed.
If your text makes use of a large number
of the IBM's "special" characters, the
text printing will be significantly slower
than it would have been if you wanted to
look at the funny characters that the
Epson uses in place of the IBM characters.
If, however, your text contains relatively
few "special" characters, then printing
will be virtually as fast as it would be
WITHOUT MPM-print installed.
LINE SPACING
════════════
Because of limitations with certain Epson
printers, the graphics characters printed
by MPM-print are 8 dots high. Therefore,
to get any of the vertical bar characters
(used for drawing boxes, or for the MPM
logo, for example) to print contiguously
(without any vertical white space between
them), the printer must be set to print 8
dots per line. This can be done by
sending the escape sequence ESCAPE 65 8 to
the printer (see the listing of escape
code sequences in Appendix B).
CHARACTER SIZES
═══════════════
The IBM characters that MPM-print produces
are printed in the normal (pica) mode.
Although MPM-print will allow a program to
set the printer to any mode (expanded,
compressed, etc.), the IBM characters will
still be printed in the pica mode.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 7
║
TECHNICAL NOTES EPSON CONTROL CODES
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ═══════════════════
Epson printers use certain one-byte codes
(ranging from ASCII 7 to 27) to control
some of the printers' features (see
Appendix B). Each feature can be
activated by sending EITHER the code OR
the code+128 to the printer (for example,
both ASCII 7 and ASCII 135 would "beep"
the printer's speaker). We have chosen to
print IBM characters for all ASCII codes
above 127, since printer control codes are
already provided by ASCII characters 7-27.
We have also chosen to print the IBM
character (ASCII 127) instead of the
"delete" code for the Epson printers. The
"delete" code deletes the last character
in the Epson printer's line buffer; since
it is rarely used, we chose to print the
IBM character instead.
All other control codes and escape
sequences (see Appendix B) are passed
directly to the printer.
REMOVING (de-installing?) MPM-print
═══════════════════════════════════
Reboot your computer (using the Ctrl-Alt-
Del keys simultaneously), and DON'T run
MPM-print after rebooting.
REINSTALLING MPM-print (or trying to)
═════════════════════════════════════
MPM-print works by taking control of
IBM's ROM BIOS interrupt 17h (Printer
I/O). When you try to re-run MPM-print,
it checks the ROM BIOS interrupt to see
if it has already been installed. If it
has, MPM-print will notify you of that
fact.
A problem can occur, however, if you
install some other piece of memory-
resident software (such as a print
spooler; please read the following
section) that also takes control of
interrupt 17h AFTER MPM-print has been
installed. If this is the case, and IF
you try to re-run MPM-print, it will NOT
find a copy of itself when it checks, and
it WILL proceed to install itself again.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 8
║
TECHNICAL NOTES PRINT SPOOLERS
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ══════════════
Print spoolers are memory-resident
programs that "reserve" a portion of
memory to buffer information that is sent
to the printer.
Ideally, MPM-print should be installed
BEFORE a print spooler. This would allow
your print spooler to hold characters as
single bytes, and would let MPM-print
handle sending the special characters to
the printer in graphics mode.
HOWEVER, some print spoolers (notably
AST's SUPERSPL) will ignore the existence
of MPM-print IF they are installed after
MPM-print. If you are using one of those
spoolers, then please install MPM-print
AFTER installing your print spooler.
COMPATIBILITY
═════════════
We have not been able to test MPM-print
with every available piece of software.
We HAVE, however, tested it with:
IBM PC-DOS versions 1.1,2.1,3.0,3.1
PrintGraph/Lotus 1-2-3
Graphics screen dumps (as long as the
DOS utility GRAPHICS.COM is also
installed)
Sidekick (from Borland International)
PC-WINDOW (a user supported, memory-
resident system utility from:
Cannon/Mill Software, PO Box 10047,
Columbia, MO 65205)
The following user supported "quality
printing" systems:
LQ-PRINT (from:
Centar Technology, PO Box 60577,
Sunnyvale, CA 94088)
BRADFORD (from:
Aaron Contorer, 1521 Central Ave.,
Deerfield, IL 60015)
PC-FONT (v 2.04, from:
SJL, 4473 Marlborough, #5
San Diego, CA 92116)
If you have compatibility problems with
other memory-resident programs, the first
thing to try is changing the order in
which the programs are loaded into memory.
If you discover compatibility problems
that you are unable to solve, please let
us know about them.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print Page 9
║
▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
A ╔╦╗╔═╗╔╦╗
MPM-print, ║║║╠═╝║║║ - print, and its associated documentation
║
are copyrighted (C), 1985, MPM Enterprises, Inc.
Please direct all comments, registrations and contributions
to:
A ╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ enterprises, inc.
║
306 Park Avenue
Wilmette, Illinois 60091
▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX A-1
║
APPENDIX A
▀▀▀▀▀▀▀▀▀▀
ASCII CODES
═══════════
DecimalA
│ Hexidecimal
│
│ │ Character or function
│ │
│ │ │
│ │ │
0 00 32 20 64 40 @ 96 60 `
1 01 33 21 ! 65 41 A 97 61 a
2 02 34 22 " 66 42 B 98 62 b
3 03 35 23 # 67 43 C 99 63 c
4 04 36 24 $ 68 44 D 100 64 d
5 05 37 25 % 69 45 E 101 65 e
6 06 38 26 & 70 46 F 102 66 f
7 07 BEL 39 27 ' 71 47 G 103 67 g
8 08 BS 40 28 ( 72 48 H 104 68 h
9 09 HT 41 29 ) 73 49 I 105 69 i
10 0A LF 42 2A * 74 4A J 106 6A j
11 0B VT 43 2B + 75 4B K 107 6B k
12 0C FF 44 2C , 76 4C L 108 6C l
13 0D CR 45 2D - 77 4D M 109 6D m
14 0E SO 46 2E . 78 4E N 110 6E n
15 0F SI 47 2F / 79 4F O 111 6F o
16 10 48 30 0 80 50 P 112 70 p
17 11 DC1 49 31 1 81 51 Q 113 71 q
18 12 DC2 50 32 2 82 52 R 114 72 r
19 13 DC3 51 33 3 83 53 S 115 73 s
20 14 DC4 52 34 4 84 54 T 116 74 t
21 15 53 35 5 85 55 U 117 75 u
22 16 54 36 6 86 56 V 118 76 v
23 17 55 37 7 87 57 W 119 77 w
24 18 CAN 56 38 8 88 58 X 120 78 x
25 19 57 39 9 89 59 Y 121 79 y
26 1A 58 3A : 90 5A Z 122 7A z
27 1B ESC 59 3B ; 91 5B [ 123 7B {
28 1C 60 3C < 92 5C \ 124 7C |
29 1D 61 3D = 93 5D ] 125 7D }
30 1E 62 3E > 94 5E ^ 126 7E ~
31 1F 63 3F ? 95 5F _ 127 7F
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX A-2
║
APPENDIX A (continued)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ASCII CODES
═══════════
DecimalA
│ Hexidecimal
│
│ │ Character or function
│ │
│ │ │
│ │ │
128 80 Ç 160 A0 á 192 C0 └ 224 E0 α
129 81 ü 161 A1 í 193 C1 ┴ 225 E1 ß
130 82 é 162 A2 ó 194 C2 ┬ 226 E2 Γ
131 83 â 163 A3 ú 195 C3 ├ 227 E3 π
132 84 ä 164 A4 ñ 196 C4 ─ 228 E4 Σ
133 85 à 165 A5 Ñ 197 C5 ┼ 229 E5 σ
134 86 å 166 A6 ª 198 C6 ╞ 230 E6 µ
135 87 ç 167 A7 º 199 C7 ╟ 231 E7 τ
136 88 ê 168 A8 ¿ 200 C8 ╚ 232 E8 Φ
137 89 ë 169 A9 ⌐ 201 C9 ╔ 233 E9 Θ
138 8A è 170 AA ¬ 202 CA ╩ 234 EA Ω
139 8B ï 171 AB ½ 203 CB ╦ 235 EB δ
140 8C î 172 AC ¼ 204 CC ╠ 236 EC ∞
141 8D ì 173 AD ¡ 205 CD ═ 237 ED φ
142 8E Ä 174 AE « 206 CE ╬ 238 EE ε
143 8F Å 175 AF » 207 CF ╧ 239 EF ∩
144 90 É 176 B0 ░ 208 D0 ╨ 240 F0 ≡
145 91 æ 177 B1 ▒ 209 D1 ╤ 241 F1 ±
146 92 Æ 178 B2 ▓ 210 D2 ╥ 242 F2 ≥
147 93 ô 179 B3 │ 211 D3 ╙ 243 F3 ≤
148 94 ö 180 B4 ┤ 212 D4 ╘ 244 F4 ⌠
149 95 ò 181 B5 ╡ 213 D5 ╒ 245 F5 ⌡
150 96 û 182 B6 ╢ 214 D6 ╓ 246 F6 ÷
151 97 ù 183 B7 ╖ 215 D7 ╫ 247 F7 ≈
152 98 ÿ 184 B8 ╕ 216 D8 ╪ 248 F8 °
153 99 Ö 185 B9 ╣ 217 D9 ┘ 249 F9 ∙
154 9A Ü 186 BA ║ 218 DA ┌ 250 FA ·
155 9B ¢ 187 BB ╗ 219 DB █ 251 FB √
156 9C £ 188 BC ╝ 220 DC ▄ 252 FC ⁿ
157 9D ¥ 189 BD ╜ 221 DD ▌ 253 FD ²
158 9E ₧ 190 BE ╛ 222 DE ▐ 254 FE ■
159 9F ƒ 191 BF ┐ 223 DF ▀ 255 FF
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX B-1
║
APPENDIX B
▀▀▀▀▀▀▀▀▀▀
EPSON CONTROL CODES AND ESCAPE SEQUENCES
════════════════════════════════════════
EPSON control codes
The following codes, when sent individually to the
appropriate printer, will cause the described action to be
taken.
ASCII chars
code use after action
───────────────────────────────────────────────────────────────
7 fmr 0 bell
8 fmr 0 backspace
9 fmr 0 horizontal tab
10 fmr 0 line feed
11 fmr 0 vertical tab
12 fmr 0 form feed
13 fmr 0 carriage return
14 fmr 0 shift out (expanded mode on)
15 fmr 0 shift in (compressed mode on)
17 f 0 printer in active condition
18 fmr 0 turns compressed mode off
19 f 0 printer inactive until char(17) sent
20 fmr 0 turns expanded mode off
24 f 0 cancels all text in the printer's buffer
27 fmr - escape
127 fmr 0 deletes the last character in the printer's
line buffer
NOTES:
use : designates the printers that make use of the
particular code
f : FX series
m : MX with Graftrax Plus, IBM Graphics printer
r : RX series
chars
after : number of characters the Epson printer expects
AFTER the escape + character sequence is started.
An asterisk (*) means that the number of
characters is context-specific.
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX B-2
║
EPSON escape codes
The escape char (ASCII 27) followed by one of the below ASCII
codes followed by the appropriate number of characters will
cause the described action to be taken.
ASCII chars
code use after action
───────────────────────────────────────────────────────────────
14 f 0 shift out (expanded mode on)
15 f 0 shift in (compressed mode on)
33 f 1 master print mode select (selects 16 unique
print mode combinations)
35 fm 0 accepts 8th bit 'as is' from the computer
37 f 2 activates either ROM or download character set
38 f * downloads one or more characters
42 f r * turns graphic mode on; followed by three
numbers, m,n1,n2 and n data codes where
n=n1+256*n2
45 fmr 1 turns underline mode on and off
47 f 1 selects a vertical tab channel
48 fmr 0 sets line spacing to 1/8 inch (9 dots)
49 fmr 0 sets line spacing to 7/72 inch (7 dots)
50 fmr 0 sets line spacing to default 1/6 inch
(12 dots)
51 fmr 1 sets line spacing to n/216 inch
(1/216 inches = 1/3 dot)
52 fmr 0 turns the italic character set on
53 fmr 0 turns the italic character set off
54 f 0 enables printing the symbols stored in
ASCII codes 128 - 159
55 f 0 causes ASCII codes 128 - 159 to print as
control codes
56 fmr 0 disables 'paper out' sensor
57 fmr 0 enables 'paper out' sensor
58 f 3 copies character set from ROM to the
download RAM
60 fmr 0 turns unidirectional mode for only one line
61 fm 0 sets the 8th bit to 0 (limits printing to
characters in the range of ASCII 0 - 127)
62 fm 0 sets the 8th bit to 1 (limits printing to
characters in the range of ASCII 128 - 255)
64 fmr 0 master reset code
65 fmr 1 sets line spacing to n/72 inch (n dots)
66 f * sets up to 16 vertical tabs, is followed
by n numbers where the last number is less
than its predecessor
A╔╦╗╔═╗╔╦╗
║║║╠═╝║║║ - print APPENDIX B-3
║
EPSON escape codes (continued)
ASCII chars
code use after action
───────────────────────────────────────────────────────────────
67 fmr * if the next number is nonzero, sets form
length to n lines
if the next number is zero, then takes the
following number and sets the form length
to n inches
68 fm * sets up to 32 horizontal tabs, is followed
by n numbers where the last number is less
than its predecessor
69 fmr 0 turns emphasized mode on
70 fmr 0 turns emphasized mode off
71 fmr 0 turns double strike mode on
72 fmr 0 turns double strike mode off
73 f 1 enables/disables printing of non-control
characters stored in ASCII 0 - 31
74 fmr 1 forces an immediate line feed of n/216 inches
75 fmr * normal graphics mode, followed by n1 & n2,
and then n data numbers where n=n1+256*n2
76 fmr * low-speed double-density graphic mode, same
logic as for code #75
77 f r 0 turns elite mode on
78 fmr 1 sets skip-over-perforation to n lines
79 fmr 0 turns skip-over-perforation off
80 f r 0 turns elite mode off
81 fmr 1 sets the column width (right margin)
82 f r 1 selects an international character set
83 fmr 1 turns script mode on (to either
super- or subscript)
84 fmr 0 turns script mode off
85 fmr 1 turns unidirectional mode on/off
87 fmr 1 turns expanded mode on/off
89 f r * high-speed double-density graphics, same
logic as for code #75
90 f r * quadruple density graphics mode; followed by
n1 & n2 and n data numbers where n=n1+256*n2
94 f * 9-pin graphics mode, followed by d, n1 & n2 and
2n data numbers where n=n1+256*n2
98 f 1 sets vertical tab for channel n
101 r 2 sets horizontal and vertical tab increments
102 r 2 prints spaces or line feeds without carriage
returns
105 f 1 turns immediate mode on/off
106 f 1 causes immediate reverse line feed of n/216 inch
108 f r 1 sets left margin to n characters
109 r 1 allows graphics characters at ASCII 128-159
to print
112 f 1 turns proportional mode off/on
115 f r 1 turns half-speed mode on/off